/** @file               sw_dll.h
 *  @copyright          Copyright (C) 2006-2026 flyfish (tenggui_fu@126.com)
 *  @brief              This file is part of the swallow library
 *  @author             $Author: flyfish $
 *  @version            $Rev: 385 $
 *  @date               $Date: 2016-12-22 00:12:05 +0800 (周四, 22 12月 2016) $
 */
#ifndef __SW_DLL_H__
#define __SW_DLL_H__

#ifdef __cplusplus
extern "C" {
#endif

#ifdef WIN32
typedef HMODULE SW_DLL;
#define SW_INVALID_DLL (SW_DLL)NULL
#else
typedef void *SW_DLL;
#define SW_INVALID_DLL (SW_DLL)NULL
#endif

SW_API SW_RET SW_InitDllAPI(SW_VOID);
SW_API SW_RET SW_RunDllAPI(SW_VOID);
SW_API SW_RET SW_StopDllAPI(SW_VOID);
SW_API SW_RET SW_ExitDllAPI(SW_VOID);
SW_API SW_DLL SW_OpenDll(const SW_CHAR *pFileName);
SW_API SW_RET SW_CloseDll(SW_DLL dll);
SW_API SW_VOID *SW_GetDllSymbol(SW_DLL dll, const SW_CHAR *pName);

#ifdef __cplusplus
}
#endif

#endif

